#ifndef __GPIO_DETECT_H
#define __GPIO_DETECT_H
#include "includes.h"
#include <stdbool.h>

#define MAX_GPIO_NUM    6



typedef enum
{
    POW_SW_DET,
    POW_24V_DET,
    ESTOP_DET,
    WKUP0_DET,
    FC1_DET,
    FC2_DET
}STATE_GPIO_NAME;

typedef struct
{
    bool pow_sw;
    bool pow_24v;
    bool estop;
    bool wkup0;
    bool fc1;
    bool fc2;
}state_detect_t;

void state_gpio_init(void);
void state_gpio_detect_poll(void);
bool get_state_value(STATE_GPIO_NAME WHICH_GPIO);

// extern state_detect_t state_value;
// extern bool state_detect_value[MAX_GPIO_NUM];
extern uint16_t state_gpio_detect_poll_time_count;
extern bool isGPIOStateUpdated;
#endif
